import re

""" scanf - 正则表达 替换规则:
scanf() 正则表达式
字符 %c  .
    %5c .{5}

字符串 %s \S+
无符号整数 %d d+
10进制 %d [-+]?\d+    [-+]?[0-9]
16进制 %i [-+]?(0[xX][\dA-Fa-f]+|0[0-7]*|\d+)
16进制 %x %X [-+]?(0[xX])?[\dA-Fa-f]+
8进制  %o [-+]?[0-7]+
%e %E %f %g [-+]?(\d+(\.\d*)?|\.\d+)([eE][-+]?\d+)?
"""

# 给定的字符串
# 提取 文件名,和数字符串
text = "/usr/sbin/sendmail - 0 errors, 4 warnings"

# 使用正则表达式匹配文件名、数字和字符串
pattern = r"(\S+) - (\d+) errors, (\d+) warnings"
match = re.search(pattern, text)

if match:
    filename = match.group(1)
    number = match.group(2)
    message = match.group(3)

    print(f"Filename: {filename}")
    print(f"Number: {number}")
    print(f"Message: {message}")
else:
    print("No match found")


""" 结果:
Filename: /usr/sbin/sendmail
Number: 0
Message: 4
"""
